<?php
/**
 * Name: 各资源的CRUD操作
 *
 * Author:李强 EdwinLee
 * Company:上海煦鸣网络科技有限公司
 * Time: 2018-01-10 21:25
 */

namespace App\Services\Interfaces;

use Illuminate\Database\Eloquent\Model;
use Illuminate\Http\Request;

interface RepoServiceInterface
{
    /**
     * 查询数据集合
     * @param  $request
     * @return mixed
     */
    public function index(Request $request);

    /**
     * 新增数据
     * @param array|null $_options //数据参数
     * @return Model
     */
    public function store(array $_options = null): array;

    /**
     * 查询数据详情
     * @param array $_filter 过滤条件
     * @return Model
     */
    public function show(array $_filter): Model;

    /**
     * 修改数据
     * @param array $_filter 过滤条件
     * @param array $_update_data 要修改的数据
     * @return bool
     */
    public function update(array $_filter, array $_update_data): array;

    /**
     * 删除数据
     * @param array $_filter 过滤条件
     * @return array
     */
    public function destroy(array $_filter): array;
}